package com.qf.day08.homework.fight;

/**
 * 英雄类，实现Fightable接口
 */
public class Hero implements Fightable{

    // 生命值
    private int hp;

    // 英雄的攻击力
    private int atk;

    public Hero() {
    }

    public Hero(int hp, int atk) {
        this.hp = hp;
        this.atk = atk;
    }

    public int getHp() {
        return hp;
    }

    public void setHp(int hp) {
        this.hp = hp;
    }

    public int getAtk() {
        return atk;
    }

    public void setAtk(int atk) {
        this.atk = atk;
    }

    /**
     * 如果hp>0，就是还活着
     * @return
     */
    @Override
    public boolean isAlive() {
        return hp>0;
    }

    /**
     * 英雄攻击敌人
     * @param enemy
     */
    @Override
    public void fight(Fightable enemy) {

        // 1. 先计算英雄的攻击力,直接等于 atk

        // 2. 让enemy受到伤害
        enemy.takeDamage(atk);

    }

    /**
     * 如果挨打，就减少hp，减少的量为damage
     * @param damage
     */
    @Override
    public void takeDamage(int damage) {
        hp = hp-damage;
    }

    @Override
    public String toString() {
        return "Hero{" +
                "hp=" + hp +
                ", atk=" + atk +
                '}';
    }
}
